class Solution {
public:
    int takeAttendance(vector<int>& records) {
        int left=0,right=records.size()-1;
        while(left<right){
            int mid=(right-left+1)/2+left;
            if(records[mid]==mid) left=mid;
            else right=mid-1;
        }
        if(records[left]>left) return left;
        return left+1;
    }
};